#pragma once
#include "IImageReportCallback.h"

class CImageBrush;


class CBitmapImageReportCallback :
	public IImageReportCallback
{
public: 
	static HRESULT Create(CImageBrush * pImageBrush, CBitmapImageReportCallback * * ppCallback);
	virtual XUINT32 AddRef();
	virtual XUINT32 Release();
	virtual XINT32 MakeSeekable();
	virtual HRESULT FireImageFailed(XUINT32 iErrorCode);
	virtual HRESULT FireDownloadProgress(XFLOAT iProgress);
	virtual HRESULT FireImageOpened();
	virtual void Disable();
	~CBitmapImageReportCallback();

private: 
	CBitmapImageReportCallback();
	CImageBrush * m_pImageBrush;
	XUINT32 m_cRef;
};